home *** CD-ROM | disk | FTP | other *** search
- '\"
- '\" Copyright (c) 1993 The Regents of the University of California.
- '\" Copyright (c) 1994 Sun Microsystems, Inc.
- '\"
- '\" See the file "license.terms" for information on usage and redistribution
- '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- '\"
- '\" @(#) tclsh.1 1.5 94/12/17 16:18:57
- '/"
- .so man.macros
- .HS tclsh tclcmds
- .BS
- '\" Note: do not modify the .SH NAME line immediately below!
- .SH NAME
- tclsh \- Simple shell containing Tcl interpreter
- .SH SYNOPSIS
- \fBtclsh\fR ?\fIfileName arg arg ...\fR?\fR
- .BE
-
- .SH DESCRIPTION
- .PP
- \fBTclsh\fR is a shell-like application that reads Tcl commands
- from its standard input or from a file and evaluates them.
- If invoked with no arguments then it runs interactively, reading
- Tcl commands from standard input and printing command results and
- error messages to standard output.
- It runs until the \fBexit\fR command is invoked or until it
- reaches end-of-file on its standard input.
- If there exists a file \fB.tclshrc\fR in the home directory of
- the user, \fBtclsh\fR evaluates the file as a Tcl script
- just before reading the first command from standard input.
-
- .SH "SCRIPT FILES"
- .PP
- If \fBtclsh\fR is invoked with arguments then the first argument
- is the name of a script file and any additional arguments
- are made available to the script as variables (see below).
- Instead of reading commands from standard input \fBtclsh\fR will
- read Tcl commands from the named file; \fBtclsh\fR will exit
- when it reaches the end of the file.
- There is no automatic evaluation of \fB.tclshrc\fR in this
- case, but the script file can always \fBsource\fR it if desired.
- .PP
- If you create a Tcl script in a file whose first line is
- .DS
- \fB#!/usr/local/bin/tclsh
- .DE
- then you can invoke the script file directly from your shell if
- you mark the file as executable.
- This assumes that \fBtclsh\fR has been installed in the default
- location in /usr/local/bin; if it's installed somewhere else
- then you'll have to modify the above line to match.
-
- .SH "VARIABLES"
- .PP
- \fBTclsh\fR sets the following Tcl variables:
- .TP 15
- \fBargc\fR
- Contains a count of the number of \fIarg\fR arguments (0 if none),
- not including the name of the script file.
- .TP 15
- \fBargv\fR
- Contains a Tcl list whose elements are the \fIarg\fR arguments,
- in order, or an empty string if there are no \fIarg\fR arguments.
- .TP 15
- \fBargv0\fR
- Contains \fIfileName\fR if it was specified.
- Otherwise, contains the name by which \fBtclsh\fR was invoked.
- .TP 15
- \fBtcl_interactive\fR
- Contains 1 if \fBtclsh\fR is running interactively (no
- \fIfileName\fR was specified and standard input is a terminal-like
- device), 0 otherwise.
- .LP
-
- .SH PROMPTS
- .PP
- When \fBtclsh\fR is invoked interactively it normally prompts for each
- command with ``\fB% \fR''. You can change the prompt by setting the
- variables \fBtcl_prompt1\fR and \fBtcl_prompt2\fR. If variable
- \fBtcl_prompt1\fR exists then it must consist of a Tcl script
- to output a prompt; instead of outputting a prompt \fBtclsh\fR
- will evaluate the script in \fBtcl_prompt1\fR.
- The variable \fBtcl_prompt2\fR is used in a similar way when
- a newline is typed but the current command isn't yet complete;
- if \fBtcl_prompt2\fR isn't set then no prompt is output for
- incomplete commands.
-
- .SH KEYWORDS
- argument, interpreter, prompt, script file, shell
-